package com.czk.durant.springframework.beans.factory;

import com.czk.durant.springframework.beans.factory.config.AutowireCapableBeanFactory;
import com.czk.durant.springframework.beans.factory.config.BeanDefinition;
import com.czk.durant.springframework.beans.factory.config.ConfigurableBeanFactory;
import com.czk.durant.springframework.exception.BeanException;
import com.czk.spring.BeanPostProcessor;

/**
 * @Author:ChenZhangKun
 * @Date: 2021/6/21 10:07
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, ConfigurableBeanFactory, AutowireCapableBeanFactory {
    BeanDefinition getBeanDefinition(String beanName) throws BeanException;

    void preInstantiateSingletons() throws BeanException;

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
